#ifndef TILE_H
#define TILE_H

#include "SFML/Graphics.hpp"
#include "tiletype.h"

#include "spriteref.h"

class Tile
{
public:
    Tile(const SpriteRef& spriteRef, TileType type = (TileType)0);

    TileType getType() const;
    void setType(TileType type);

    TileTypeProperties getProperties() const;

    //Returns the practicability of this tile by a unit of unitType type
    quint8 getPracticability(UnitType unitType) const;

    const SpriteRef& getSpriteRef() const;

private:
    SpriteRef m_spriteRef;

    TileType m_type;
};

#endif // TILE_H
